Apache Commons IO লাইব্রেরি ফাইল এবং ডিরেক্টরি সম্পর্কিত কার্যাবলী সহজ এবং কার্যকরী করার জন্য বিভিন্ন টুল সরবরাহ করে, তবে ফাইল পারমিশন এবং মালিকানা (Owner) চেক করার জন্য Apache Commons IO সরাসরি কোনো নির্দিষ্ট API সরবরাহ করে না। তবে, আপনি Java NIO (New Input/Output) বা Java IO লাইব্রেরি ব্যবহার করে ফাইল পারমিশন এবং মালিকানা চেক করতে পারেন এবং Apache Commons IO এর অন্যান্য ফিচারগুলোর সাথে এটি একত্রে ব্যবহার করতে পারেন।
Java NIO (New Input/Output) লাইব্রেরি, যা Java 7 থেকে অন্তর্ভুক্ত, আপনাকে ফাইল পারমিশন এবং ফাইল মালিকানা চেক করার জন্য উন্নত ফিচার সরবরাহ করে। আপনি Files ক্লাসের getPosixFilePermissions() এবং getOwner() মেথড ব্যবহার করে ফাইলের পারমিশন এবং মালিকানা চেক করতে পারেন।
File.permission চেক করতে, আপনি Files.getPosixFilePermissions() ব্যবহার করতে পারেন, যা Set ফেরত দেয় এবং এতে ফাইলের বিভিন্ন পারমিশন (read, write, execute) থাকে।
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.io.IOException;
import java.util.Set;
public class FilePermissionCheck {
public static void main(String[] args) {
try {
// ফাইলের পাথ নির্ধারণ করা
Path path = Paths.get("path/to/your/file.txt");
// ফাইলের পারমিশন পাওয়া
Set<PosixFilePermission> permissions = Files.getPosixFilePermissions(path);
// পারমিশন প্রিন্ট করা
System.out.println("File permissions:");
for (PosixFilePermission permission : permissions) {
System.out.println(permission);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
আউটপুট (যেমন ফাইলটির পারমিশন হতে পারে):
File permissions:
OWNER_READ
OWNER_WRITE
OWNER_EXECUTE
GROUP_READ
GROUP_EXECUTE
ফাইল মালিকানা চেক করার জন্য আপনি Files.getOwner() মেথড ব্যবহার করতে পারেন। এটি ফাইলের মালিকের নাম ফেরত দেয়।
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.io.IOException;
public class FileOwnerCheck {
public static void main(String[] args) {
try {
// ফাইলের পাথ নির্ধারণ করা
Path path = Paths.get("path/to/your/file.txt");
// ফাইলের মালিকানা পাওয়া
UserPrincipal owner = Files.getOwner(path);
// মালিকের নাম প্রিন্ট করা
System.out.println("File owner: " + owner.getName());
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
আউটপুট:
File owner: yourusername
যদিও Java IO লাইব্রেরি Posix ফাইল সিস্টেমের পারমিশন সরাসরি হ্যান্ডেল করে না, তবে আপনি File ক্লাসের setReadable(), setWritable(), এবং setExecutable() মেথডগুলির মাধ্যমে ফাইলের পারমিশন নির্ধারণ করতে পারেন। তবে এই মেথডগুলি পারমিশন সেট করে, check করতে নয়।
import java.io.File;
public class FilePermissionCheck {
public static void main(String[] args) {
// ফাইলের পাথ নির্ধারণ করা
File file = new File("path/to/your/file.txt");
// ফাইলের পারমিশন চেক করা
System.out.println("Can read: " + file.canRead());
System.out.println("Can write: " + file.canWrite());
System.out.println("Can execute: " + file.canExecute());
}
}
এখানে:
আউটপুট:
Can read: true
Can write: true
Can execute: false
Apache Commons IO লাইব্রেরি ফাইল পারমিশন চেক করার জন্য সরাসরি কোনও ফিচার সরবরাহ না করলেও, আপনি Java IO এর File ক্লাস এবং Apache Commons IO এর অন্যান্য ইউটিলিটিগুলির মাধ্যমে কার্যকরী ফাইল পারমিশন এবং মালিকানা ম্যানেজমেন্ট করতে পারেন। এটি আপনার কাজকে আরও কার্যকর এবং সহজ করতে সাহায্য করবে।
এই প্রক্রিয়াগুলো আপনাকে ফাইলের পারমিশন এবং মালিকানা চেক করতে সহায়তা করবে এবং আপনি যে ফাইলটি পরিচালনা করছেন তার সঠিক অনুমতি এবং মালিকানা জানতে পারবেন।
common.read_more